.\"   $Id: substablexpr.3,v 1.1 2002/03/18 11:06:16 ludo Exp $
.\" @(#)substablexpr.2 2.7 96/07/02 ; Labo masi cao-vlsi; Author : Jacomme Ludovic
.TH SUBSTABLEXPR 3 "October 1, 1997" "ASIM/LIP6" "ABL FUNCTIONS"
.SH NAME
substablexpr \- substitutes a given atom by an expression.

.so man1/alc_origin.1
.SH SYNOPSIS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "abl101.h"
chain_list \(**substablexpr( Expr1, Name, Expr2 )
  chain_list \(**Expr1;
  char       \(**Name;
  chain_list \(**Expr2;
.ft R
.fi
.SH PARAMETERS
.TP 20
\fIExpr1\fP
First expression.
.TP
\fIName\fP
Atom name.
.TP
\fIExpr\fP
Second expression.
.SH DESCRIPTION
\fBsubstablexpr\fP substitutes \fIAtom\fP in \fIExpr1\fP by \fIExpr2\fP.
The expression pointer \fIExpr1\fP MUSTN'T be used after the call to this function.
.br
.SH RETURN VALUE
\fBsubstablexpr\fP returns the modified expression.
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "abl101.h"
  chain_list \(**Expr1;
  chain_list \(**Expr2;
  Expr1 = createablbinexpr( ABL_OR,
                            createablatom( "a" ),
                            createablatom( "b" ) );
  Expr2 = createablbinexpr( ABL_AND,
                            createablatom( "c" ),
                            createablatom( "d" ) );
  Expr1 = substablexpr( Expr1, "a", Expr2 );
  /* displays ((c and d) or b) */
  viewablexpr( Expr1, ABL_VIEW_VHDL );
.ft R
.fi
.SH SEE ALSO
.BR abl (1),
.BR substdupablexpr(3).


.so man1/alc_bug_report.1

